package com.yxinsur.imc.business.excel;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 续期手续费核算结果 导入&导出
 *
 * @author imc
 * @date 2021-09-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RenewalRecnTemplate implements Serializable {
    private static final long serialVersionUID = 1L;
    @Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC, prompt = "数据行请保证序号不为空")
    private String index;
    @Excel(name = "核对结果", dictType = "recn_check_result", readConverterExp = "LS=短账,SL=长账,L_SUCCESS=平账", type = Excel.Type.EXPORT)
    private String recnCheckResult;
    @Excel(name = "处理结果", dictType = "recn_handling_result", readConverterExp = "A=以供应商为准,B=以系统为准,C=忽略不处理", type = Excel.Type.EXPORT)
    private String recnHandlingResult;
    @Excel(name = "系统保单号", type = Excel.Type.EXPORT)
    private String policyCodeL;
    @Excel(name = "供应商保单号*", prompt = "供应商保单号不能为空")
    private String policyCodeS;
    @Excel(name = "系统险种代码", type = Excel.Type.EXPORT)
    private String insCodeL;
    @Excel(name = "供应商险种代码*", prompt = "供应商险种代码不能为空")
    private String insCodeS;
    @Excel(name = "系统险种名称", type = Excel.Type.EXPORT)
    private String riskNameL;
    @Excel(name = "供应商险种名称*")
    private String riskNameS;
    @Excel(name = "系统缴费期限", type = Excel.Type.EXPORT)
    private String chargePeriodValueL;
    @Excel(name = "供应商缴费期限*", prompt = "供应商缴费期限不能为空")
    private String chargePeriodValueS;
    @Excel(name = "系统保单年度", type = Excel.Type.EXPORT)
    private Long policyYearL;
    @Excel(name = "供应商保单年度*", prompt = "供应商保单年度不能为空")
    private Long policyYearS;
    @Excel(name = "系统缴费期数", type = Excel.Type.EXPORT)
    private Long payNumL;
    @Excel(name = "供应商缴费期数*", prompt = "供应商缴费期数不能为空")
    private Long payNumS;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统投保日期", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date applyDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统承保日期", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date insureDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统生效日期", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date effectiveDate;
    @Excel(name = "系统应缴日期", type = Excel.Type.EXPORT)
    private Date payableDate;
    @Excel(name = "系统应缴保费（元）", type = Excel.Type.EXPORT)
    private BigDecimal payablePrem;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统实缴日期", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date paymentDateL;
    @Excel(name = "系统实缴保费（元）", type = Excel.Type.EXPORT)
    private BigDecimal paymentPremL;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "供应商实缴日期", width = 30, dateFormat = "yyyy-MM-dd", prompt = "格式为yyyy-mm-dd")
    private Date paymentDateS;
    @Excel(name = "供应商实缴保费（元）*", prompt = "供应商实缴保费不能为空")
    private BigDecimal paymentPremS;

    @Excel(name = "默认字段：协议费用科目A", type = Excel.Type.EXPORT)
    private String contractExpenseA;
    @Excel(name = "默认字段：协议费用科目B", type = Excel.Type.EXPORT)
    private String contractExpenseB;
    @Excel(name = "默认字段：协议费用科目C", type = Excel.Type.EXPORT)
    private String contractExpenseC;
    @Excel(name = "默认字段：协议费用科目D", type = Excel.Type.EXPORT)
    private String contractExpenseD;
    @Excel(name = "默认字段：协议费用科目E", type = Excel.Type.EXPORT)
    private String contractExpenseE;
    @Excel(name = "默认字段：协议费用科目F", type = Excel.Type.EXPORT)
    private String contractExpenseF;
    @Excel(name = "默认字段：协议费用科目G", type = Excel.Type.EXPORT)
    private String contractExpenseG;
    @Excel(name = "备注")
    private String remark;
    @Excel(name = "错误信息", type = Excel.Type.EXPORT)
    private String errorMsg;
}
